home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1996 February
/
EnigmA AMIGA RUN 04 (1996)(G.R. Edizioni)(IT)[!][issue 1996-02][Skylink CD III].iso
/
earcd
/
comm2
/
zpont311.lha
/
zpoint-3.11
/
Rexx
/
ReadMessageInfo.zprx
< prev
next >
Wrap
Text File
|
1995-07-20
|
5KB
|
203 lines
/*
$VER: ReadMessageInfo.zprx 1.5 (17.07.95) Copyright (c) Nils Görs
Idee von Andreas Leicht
Funktionsbeschreibung:
Dies ist ein ARexx-Skript für Zodiac's Point, daß beim lesen von
markierten Nachrichten, etwas mehr Informationen bietet.
Desweiteren bietet es die Möglichkeit, Nachrichten auch in
thematischer Reihenfolge zu lesen.
Hinweise zur Installation:
Kopieren sie dieses Skript in das Rexx-Verzeichnis von ZP und
fügen sie danach der Datei 'fkeys.zp' auf Wunsch den Eintrag
"F1:SYS:Rexxc/RX ZPOINT:Rexx/ReadMessageInfo.zprx %s" hinzu.
Sie erreichen den Autor wie folgt:
Nils Görs Tel. : +49 (0)202 784258
Kaiserstr. 97a EMail: N.Goers@Art-Line.Art-Line.de
42329 Wuppertal oder über das ZP-Support-Brett.
Verwenden Sie bitte nach Möglichkeit elektronische Post!
*/
/* Sollen die Nachrichten thematisch gelesen werden ??
0 = Nein
1 = Ja
2 = Requester ! */
ReadThema = 2
/* Sonderzeichen werden nach ? gewandelt */
OldChar = "()*"
NewChar = "???"
/* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* Bitte geben Sie hier ihre Präferenzen ein ! *
*******************************************************************/
/*******************************************************************
* Bitte unterhalb dieser Zeile nichts mehr verändern! *
*******************************************************************/
NL = '0a'x
OPTIONS RESULTS
NL = '0a'x
text = "wurde wurden"
text2 = "Nachricht Nachrichten"
text3 = "verbleibt verbleiben"
/* ------ von welchem ZP Port wurde das Script aufgerufen ? ------ */
PARSE ARG zpPort
IF zpPort == "" THEN
zpPort = "ZPoint"
ADDRESS VALUE zpPort
/* ------------- Dieses Skript läuft erst ab V37.194 ------------- */
WHICHVERSION
IF RESULT < "37.194" THEN DO
REQUESTNOTIFY "Dieses Skript benötigt mind. Zodiac's Point 37.194 (28.6.95)"
EXIT
END
WHICHLEVEL
IF RESULT ~= "BOARD" THEN DO
REQUESTNOTIFY "Bitte begeben Sie sich in ein Brett!"
EXIT
END
MESSAGEINFO POSITION /* Wo steht der Markierungsbalken? */
MailPos = Result
COUNT LISTED
HowManyMess = RESULT
IF HowManyMess == 0 THEN DO
REQUESTNOTIFY "Es wurden keine markierten"NL,
"Nachrichten gefunden!"; EXIT
END
HowManyLeft = HowManyMess
IF ReadThema == 2 THEN DO
REQUESTRESPONSE "Sollen die Nachrichten"NL,
"thematisch gelesen werden?"
ReadThema = (RC)
END
MessRead = 0
IF ReadThema == 1 THEN CALL _ThematischesLesen
JUMPTOMESSAGE 1 /* An die erste Nachricht springen! */
MESSAGEINFO LISTED /* ist diese erste Nachricht markiert? */
IF Result == 1 THEN CALL _ReadMessage
GUILOCK ON
/* Nachrichten werden hier gelsesen und die Informationen ausgegeben */
more = 1
DO WHILE more
JUMPTOMESSAGE LISTED
more = (RC)
IF more == 1 THEN CALL _ReadMessage
END
_ReadMessage:
CALL _Inform
RETURN
/* hier werden die Nachrichten nach Thema gelesen ! */
_ThematischesLesen:
JUMPTOMESSAGE 1 /* An die erste Nachricht springen! */
CALL _GetSubject
MESSAGEINFO LISTED /* ist diese erste Nachricht markiert? */
IF RESULT == 1 THEN CALL _ReadMessage2
JUMPTOMESSAGE LISTED
IF (RC) == 1 THEN DO
CALL _GetSubject
CALL _ReadMessage2
END
_ReadMessage2:
more = 1
DO WHILE more
MESSAGEINFO LISTED
IF RESULT = 1 THEN DO
CALL _Inform
SELECTMESSAGE
END
DOWN /* eine Nachricht nach unten */
IF (RC) == 0 THEN CALL _Test
CALL _ReadThread /* gibt es einen Thread ?? */
JUMPTOMESSAGE SUBJECT Betreff /* zum nächsten Betreffmuster springen */
more = (RC)
END
_Test:
IF Messread == HowManyMess THEN CALL Quit /* sind alle Nachrichten gelesen? */
CALL _thematischesLesen
_ReadThread:
MESSAGEINFO DEPTH
IF RESULT >0 THEN DO
d = 1
DO WHILE d > 0
MESSAGEINFO LISTED /* ist die Nachricht markiert ?? */
IF RESULT = 1 THEN DO
CALL _Inform
SELECTMESSAGE
END
DOWN /* noch eine Nachricht nach unten! */
IF (RC) = 1 THEN DO
MESSAGEINFO DEPTH
d = RESULT
END
ELSE
d = 0
END
END
RETURN
_GetSubject:
MESSAGEINFO SUBJECT /* wie lautet der Betreff der ersten */
Betreff=TRANSLATE(RESULT,NewChar,OldChar) /* markierten Nachricht? */
Betreff = '"#?'Betreff'"'
RETURN
/* hier sind globale Routinen */
_Inform:
READMESSAGE
MARKASOLD ONE
HowManyLeft = HowManyLeft-1
Messread = Messread + 1
K=1
IF Messread > 1 THEN k=2
textpointer1 = WORD(Text,k); textpointer2 = WORD(Text2,k)
K2=1
IF HowManyLeft > 1 THEN k2=2
textpointer3 = WORD(Text3,k2); textpointer4 = WORD(Text2,k2)
IF Messread == HowManyMess THEN CALL Quit /* sind alle Nachrichten gelesen? */
REQUESTRESPONSE "Es" textpointer1 "bisher" Messread textpointer2 "gelesen!"NL,
"Es" textpointer3 "noch" HowManyLeft textpointer4"."NL,
"Weitere" textpointer4 "lesen?"
IF (RC) == 0 THEN CALL Quit
GUILOCK ON
RETURN
Quit:
TextPointer2 = WORD(Text2,2)
IF HowManyMess < 2 THEN Textpointer2 = WORD(text2,1)
REQUESTNOTIFY "Es" textpointer1 "insgesamt" Messread "von" HowManyMess textpointer2 "gelesen!"
JUMPTOMESSAGE MailPos
EXIT
/* EOS */